package com.woniu.ly.manageassembly.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.woniu.ly.manageassembly.model.info.Operation;
import com.woniu.ly.manageassembly.model.info.Singleton;
import com.woniu.ly.model.model.*;

import java.util.List;

public interface AdminService {
    int addGuide(Guide guide);

    void addScatteredPassengers(Singleton singleton);

    int addCard(Card card);

    int addTraveler(Traveler traveler);

    void changeTourStatus(int tourId, String status);

    void chooseGuide(int guideId, int tourId);

    void changeGuideStatus(int guideId, String status);

    IPage<Guide> getGuide(Page<Guide> page, String guideStatus, String guideName);

    int addHotel(Hotel hotel);

    void addOperation(Operation operation);

    void changeHotelStatus(int hotelId, String operationContent);

    IPage<Spot> getSpot(Page<Spot> page, String spotName);

    void addSpot(Spot spot);

    Spot getSpotById(int spotId);

    void modifySpotById(Spot spot);

    void addHotelImg(HotelImg hotelImg);

    void addSpotImg(SpotImg spotImg);

    IPage<Tour> getTours(Page<Tour> page, int tourId, String tourType, int productId, String tourStatus);

    int makeTourGroups(Tour tour);

    Tour getTour(int tourId);

    List<UserOrder> getUserOrders(int tourId,String tourGenre);

    List<UserOrderDetail> getUserOrderDetails(int userOrderId);

    int addUserChargebackDetail(UserChargebackDetail ucd);

    int addUserAccount(UserAccount userAccount);

    int addPlatfromStatement(PlatfromStatement platfromStatement);

    PlatfromAccount getPlatfromAccount();

    void addPlatfromAccount(PlatfromAccount platfromAccount);

    void changeSeckillTourStatus(int seckillTourId, String status);

    void chooseSeckillGuide(int guideId, int seckilltourId);

    IPage<Tour> getSeckillTours(Page<Tour> page, int seckilltourId, String tourType, int productId, String tourStatus);

    int makeSeckillTourGroups(SeckillTour tour);

    SeckillTour getSeckillTour(int seckillTourId);

    List<Card> selectCard();

    Traveler getTraveler(int travelerId);

    IPage<UserOrderDetail> getUserOrderDetailStatus(Page<UserOrderDetail> page, String userOrderDetailStatus);

    void changeUserOrderDetailStatus(int userOrderId, int travelerId, String status);

    UserOrder getUserOrder(int userOrderId);

    Guide selectGuideById(int guideId);

    void updateGuideNumb(Guide guide);
}
